home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_08_06 / 8n06066a < prev    next >
Text File  |  1989-11-08  |  2KB  |  51 lines

  1. /*
  2. **  datetest.c -- test program for DateObjects
  3. */
  4.  
  5. #include    <stdio.h>
  6. #include    <stream.hpp>
  7. #include    "dates.hpp"
  8.  
  9.  
  10. void main(void)
  11. {
  12. DateObject d1(1, 1, -4700, "d mmmm yyyy");
  13. DateObject d2(31, 12, 25000, "d mmmm yyyy");
  14. DateObject d3(23, 5, 1968, "d mmm yyy");
  15. DateObject d4;            /* initialize to todays date */
  16. DateObject d5;
  17. long Diff;
  18.  
  19.     cout << "DateObjects can span dates from " << d1.DateToString() << "\n";
  20.     cout << "to " << d2.DateToString() << ", or ";
  21.     cout << (Diff = (d2 - d1)) << " days.\n\n";
  22.     
  23.     cout << "A good reference date is " << d3.DateToString() << "\n";
  24.     cout << "which should have a Julian date of 2440000.\n";
  25.     cout << "If we call GetJulian() to make sure, we find\n";
  26.     cout << "that it does";
  27.     if (d3.GetJulian() != 2440000L)
  28.         cout << " not";
  29.     cout << ", in fact, equal 2440000.\n\n";
  30.  
  31.     cout << "Attempting to add " << Diff << " days to " << 
  32.         d3.DateToString() << "\n";
  33.     cout << "yields a " << (d3 + Diff).DateToString() << ".\n";
  34.     
  35.     cout << "Attempting to subtract " << Diff << " days from " << 
  36.         d3.DateToString() << "\n";
  37.     cout << "yields a " << (d3 - Diff).DateToString() << ".\n";
  38.     
  39.     cout << "However, adding " << Diff << " days to " <<
  40.         d1.DateToString() << "\n";
  41.     cout << "yields " << (d1 + Diff).DateToString() << ".\n\n";
  42.     
  43.     cout << "Today is " << d4.DateToString() << ".\n";
  44.     d4.ChangeFormat("dddd");
  45.     cout << "The next five days are:\n";
  46.     for (++d4 ; d4 <= d5 + 5; d4++)
  47.         cout << d4.DateToString() << "\n";
  48.     cout << "\n";
  49. }
  50.  
  51.